package com.demo.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.demo.dao.MessageDao;
import com.demo.model.Message;
import com.demo.service.MessageService;

@Service
public class MessageServiceImpl implements MessageService {

	@Autowired
	private MessageDao messageDao;

	@Override
	public long save(Message message) {
		return messageDao.insert(message);
	}
	// public long save(Message message) {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// long id = messageDao.insert(conn, message);
	// conn.commit();
	// return id;
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// return 0;
	// }

	@Override
	public Message getMessageById(Long id) {
		return messageDao.selectOne(id);
	}
	// public Message getMessageById(long id) {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// return messageDao.selectOne(conn, id);
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// return null;
	// }

	@Override
	public List<Message> getMessages() {
		return messageDao.select();
	}
	// public List<Message> getMessages() {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// return messageDao.selectAll(conn);
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// return null;
	// }

	@Override
	public Integer updateMessage(Message message) {
		if (message.getId() != null && message.getId() > 0) {
			return messageDao.update(message);
		}
		return messageDao.insert(message);
	}

	@Override
	public Integer deleteMessage(Long id) {
		return messageDao.delete(id);
	}
}
